| Filename | (eval 1109)[/usr/share/perl5/Sub/Quote.pm:5] |
| Statements | Executed 18011 statements in 27.6ms |
| Eval Invoked At | /usr/share/perl5/Sub/Quote.pm line 5 |
| Sibling evals | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 12001 | 3 | 3 | 31.1ms | 33.8ms | DBIx::Class::Storage::DBI::_server_info |
| 1 | 1 | 1 | 12µs | 20µs | Sub::Quote::BEGIN@5.2972 |
| 1 | 1 | 1 | 6µs | 6µs | DBIx::Class::Storage::DBI::BEGIN@11.2973 |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | { | ||||
| 2 | 2 | 1µs | my $orig = ${$_[1]->{"\$orig"}}; | ||
| 3 | 1 | 200ns | my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}}; | ||
| 4 | 1 | 300ns | my $_QUOTED = ${$_[1]->{"\$_QUOTED"}}; | ||
| 5 | 2 | 86µs | 2 | 29µs | # spent 20µs (12+8) within Sub::Quote::BEGIN@5.2972 which was called:
# once (12µs+8µs) by Sub::Quote::_clean_eval at line 5 # spent 20µs making 1 call to Sub::Quote::BEGIN@5.2972
# spent 8µs making 1 call to warnings::unimport |
| 6 | # spent 33.8ms (31.1+2.67) within DBIx::Class::Storage::DBI::_server_info which was called 12001 times, avg 3µs/call:
# 6000 times (18.3ms+2.29ms) by DBIx::Class::Storage::DBI::mysql::sql_maker at line 46, avg 3µs/call
# 6000 times (12.9ms+379µs) by DBIx::Class::Storage::DBI::mysql::sql_maker at line 112 of DBIx/Class/Storage/DBI/mysql.pm, avg 2µs/call
# once (2µs+0s) by DBIx::Class::Storage::DBI::mysql::sql_maker at line 56 of Sub/Defer.pm | ||||
| 7 | $_QUOTED if 0; | ||||
| 8 | 6000 | 500µs | $_UNQUOTED if 0; | ||
| 9 | # BEGIN quote_sub PRELUDE | ||||
| 10 | package DBIx::Class::Storage::DBI; | ||||
| 11 | # spent 6µs within DBIx::Class::Storage::DBI::BEGIN@11.2973 which was called:
# once (6µs+0s) by Sub::Quote::_clean_eval at line 16 | ||||
| 12 | 1 | 900ns | $^H = "133090"; | ||
| 13 | 1 | 400ns | ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUU"; | ||
| 14 | 1 | 5µs | %^H = ( | ||
| 15 | ); | ||||
| 16 | 1 | 106µs | 1 | 6µs | } # spent 6µs making 1 call to DBIx::Class::Storage::DBI::BEGIN@11.2973 |
| 17 | # END quote_sub PRELUDE | ||||
| 18 | |||||
| 19 | 6000 | 4.77ms | if ( | ||
| 20 | # only fire when invoked on an instance, a valid class-based invocation | ||||
| 21 | # would e.g. be setting a default for an inherited accessor | ||||
| 22 | ref $_[0] | ||||
| 23 | and | ||||
| 24 | ! $_[0]->{_driver_determined} | ||||
| 25 | and | ||||
| 26 | ! $_[0]->{_in_determine_driver} | ||||
| 27 | and | ||||
| 28 | # if this is a known *setter* - just set it, no need to connect | ||||
| 29 | # and determine the driver | ||||
| 30 | ( 1 or @_ <= 1 ) | ||||
| 31 | and | ||||
| 32 | # Only try to determine stuff if we have *something* that either is or can | ||||
| 33 | # provide a DSN. Allows for bare $schema's generated with a plain ->connect() | ||||
| 34 | # to still be marginally useful | ||||
| 35 | $_[0]->_dbi_connect_info->[0] | ||||
| 36 | ) { | ||||
| 37 | $_[0]->_determine_driver; | ||||
| 38 | |||||
| 39 | # work around http://rt.perl.org/rt3/Public/Bug/Display.html?id=35878 | ||||
| 40 | goto $_[0]->can("_server_info") unless DBIx::Class::_ENV_::BROKEN_GOTO; | ||||
| 41 | |||||
| 42 | my $cref = $_[0]->can("_server_info"); | ||||
| 43 | goto $cref; | ||||
| 44 | } | ||||
| 45 | |||||
| 46 | 6000 | 22.1ms | 6000 | 20.6ms | goto $orig; # spent 20.6ms making 6000 calls to DBIx::Class::Storage::DBI::_server_info, avg 3µs/call |
| 47 | } | ||||
| 48 | 1 | 1µs | $$_UNQUOTED = \&DBIx::Class::Storage::DBI::_server_info | ||
| 49 | } | ||||
| 50 | 1 | 4µs | 1; | ||
| 51 | |||||
| 52 | ; |